home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ian & Stuart's Australian Mac 1
/
Ian and Stuart's One (Australia).iso
/
Mac FAQs
/
Hypercard.faq
< prev
next >
Wrap
Internet Message Format
|
1994-06-07
|
55KB
From inferno.mpx.com.au!metro!news.cs.su.oz.au!harbinger.cc.monash.edu.au!msuinfo!agate!ihnp4.ucsd.edu!news.acns.nwu.edu!uicvm.uic.edu!earlham.edu!earlham.edu!nntp Wed Jun 8 07:56:51 1994
Path: inferno.mpx.com.au!metro!news.cs.su.oz.au!harbinger.cc.monash.edu.au!msuinfo!agate!ihnp4.ucsd.edu!news.acns.nwu.edu!uicvm.uic.edu!earlham.edu!earlham.edu!nntp
Newsgroups: comp.sys.mac.hypercard
Subject: HC FAQ version 1.0 part 1
Message-ID: <1994Jun6.134854.8664@earlham.edu>
From: davel@earlham.edu
Date: Mon, 6 Jun 94 13:48:34 -500
Organization: Earlham College
Keywords: HyperCard,FAQ
Nntp-Posting-Host: yang.earlham.edu
Lines: 1425
Here is part 1 of the new version (1.0) of the HyperCard FAQ (part 2 is
still under construction). Direct questions to Peter Fleck.
---------------------------------- cut here ----------------------------------
Welcome to HyperCard
--------------------
The HyperCard FAQ Version 1.0 - Part 1 of 2 The Basics
--------------------------------------------------------------
A Listing of Frequently Asked Questions and Information about the
HyperCard Programming Environment
------------------------------------------------------------
IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
This is Part 1 (The Basics) of the HyperCard FAQ. At this
writing, Part 2 (Scripting) is still in the editing stages.
Scripting information is available in the previous FAQ
version, v.04. When requesting the FAQ via e-mail, please
state if you want this document (Version 1.0), or Version
.04, or both.
------------------------------------------------------------
The HyperCard FAQ is available for anonymous ftp
from ftp.earlham.edu, directory mac. The previous version
is in a file called hypercard-faq-041.txt, and this one is
called hypercard-faq-10-pt1.txt. [If this is a brand new version, it
may take a bit before it's available for ftping.]
The purpose of The HyperCard FAQ is to provide information
and answer basic questions about HyperCard; its scripting
language, HyperTalk; and various resources and products relating
to HyperCard. Many HyperCard users did not receive any "official"
documentation with HyperCard; I hope this document will help in
getting started with the program.
The HyperCard FAQ is not meant to replace the Apple
(or Claris) manuals, or the excellent third party books available.
HyperCard itself is very easy to "learn" as far as using existing
stacks. But if you want to move beyond that and author and script
your own stacks, you need to either purchase the retail version of
HyperCard which comes with scripting documentation, or one of the
third-party books suggested elsewhere in this document.
Editorial comments are in brackets ([]). Script commands
and internet addresses in text appear between <>.
Introduction
============
Add your $.02
-------------
Comments, suggestions, ideas, typo lists, are welcome
and appreciated.
I can be reached via the internet at:
fleck@astro.spa.umn.edu
You can also request the FAQ from this address.
Snailmail: Peter Fleck
2108-24th Ave. S.
Minneapolis, MN 55406-1014
Copyright Info
--------------
This document is offered to the public domain on the understanding
that no resale of this information is undertaken by any recipient of
the information. Any reproduction of the information should
be complete and entire and provide reference to the original source
(i.e. the HYPERCARD FAQ) and the editor, and individual authors
where directly mentioned in the text. The editor takes no
responsibility for any errors, omissions or
misunderstandings, however induced!
Easy View and Setext
--------------------
This document is formatted as setext. You can use the Easy View
structured text reader to browse the FAQ. Easy View divides the FAQ
into chapters and heads and has search capabilities.
Easy View is available for anonymous ftp
from <mac.archive.umich.edu> in directory /mac/util/text.
[Info from the Easy View Read Me]
Easy View is an application for intelligent browsing of collections
of structured text files, large or small. It allows very fast access
by recognizing the internal structure. All of the following text
formats can be viewed using Easy View:
- setext, including TidBITS and similar publications
- Info-Mac, c.s.m.p, or similar digests
- Mail collections: Internet, Navigator, Notebook, etc.
- Text with "simple" format
- Dictionaries
- Plain text
Written by M. Akif Eyler, Bilkent University, 06533 Ankara, Turkey.
e-mail: eyler@trbilun.bitnet eyler@bcc.bilkent.edu.tr
Setext
More information can be obtained from the designer Ian Feldman
<setext-list@random.se>, or by sending "setext" alone
on the subject line, no quotes, to <fileserver@tidbits.com>
Table of Contents
-----------------
Welcome to HyperCard!
----------------------
Welcome to HyperCard
Introduction
-------------
Add your $.02
Copyright Info
Easy View and Setext
Table of Contents
The Basics
-----------
Where Can I purchase HyperCard?
HyperCard Info Resources
Where can I find HyperCard stacks? (ftp info)
Books on HyperCard
Book Reviews
Hypercard Products and Related Applications
Addresses for HC Products
What is HyperCard?
What is HyperTalk?
What is Home?
What is the HyperCard Player?
What is a stand-alone?
What is AppleScript?
What is the user level?
What does the Compact Stack do?
How can I make my menubar appear (or disappear)?
How do I record my own sounds?
Version Misc.
--------------
Version History
What's new in version 2.0?
What's new in version 2.1?
What's new in version 2.2?
Version 2.2 Review
Will Version 1.2.5 work with System 7?
Will HyperCard 2.2 work with System 6?
How do I convert a 1.x version stack to 2.x?
Problems & Bugs
----------------
Miscellaneous HyperCard Problems and Memory
I only have two (or three) user level choices available.
Why do my buttons disappear when I go to another card?
The "Fonts not installed" Message
Command-space doesn't toggle the menubar.
The Protect Stack command disappeared.
Help! I lost my password.
HC 2.1 Bugs and the Mac AVs
General
--------
How do I make pictures of card images?
Hidden printing features.
Admin
------
Acknowledgments
Who's Peter Fleck?
The Basics
==========
Where Can I purchase HyperCard?
-------------------------------
HyperCard is available wherever quality software is sold
meaning via mail order from the major Mac sources or at local
software distributors. An educational discount is also offered
for educators and students.
You can also purchase HyperCard from APDA, Apple's source for
developer tools. They had a $99 special on the product in early
1994.
Registered users of previous HyperCard versions (and you're
only registered if you paid for the product), are eligible for an
upgrade. For details, users should contact the Apple
Software Programs Customer Service at (800)-769-2775, ext. 7810.
HyperCard Info Resources
------------------------
Most of the resources listed here are online and available through
the Internet or commercial BBS services. Many local BBS's also have
HyperCard discussion areas or link to one of the major ones.
comp.sys.mac.hypercard: Usenet. One of the best sources
for HyperCard information and frequented by some of the developers
of HyperCard itself.
HYPERCRD Mailing List: An e-mail discussion of HyperCard,
currently moderated by George Allen, <alleng@msu.edu>. If you
have a mailbox on the Internet, you should be able to subscribe to
this. Send a message to <LISTSERV@MSU.BITNET> with a blank subject
line and the text of the message containing: <SUB HYPERCRD FirstName
LastName>.
MACHYPE Echo: Fidonet. Low traffic and few regulars. Available on
many local BBS's.
Compuserve: MacHyper forum (also call HyperText forum).
Strong community feeling and very active. Discussions on all levels
- beginners welcome. Good file library.
America Online - MacHyperCard forum (keyword MHC) Strong
community feeling. Very active with discussions on all
levels. CompileIt! Special Interest Group including both
Message boards and file library. SuperCard Special Interest
Group [most active Supercard discussions I've seen] Large
file library with decent (i.e. fairly complete)
descriptions. Scheduled online conference every Friday at 9
p.m. EST. The conference has featured Danny Goodman and Kevin
Calhoun.
AppleLink: Feels more corporate, less community. The
HyperCard Discussion has mild activity with items that don't seem to
show up elsewhere. Software Sampler area has demos. XCMD source code
and other items can be found if persistent.
NIFTY-Serve: Japanese Sister service to Compuserve. Has very
active HyperCard community. [Hiroyasu Oyama, sysop of
Macintosh HyperMedia Forum on NIFTY-Serve contacted sent me a note
thanking me for mentioning the service.]
BMUG: Has boards for HyperCard, internet
comp.sys.mac.hypercard, AppleScript, etc. Does not yet have
a "community" feel but traffic seems to be picking
up.
Inside HyperCard: This is monthly (hard copy, newsletter
format) for scripting tips and techniques put out by the Cobb Group.
$59.00 year domestic, 79.00 year outside U.S.A. It is aimed at the
novice HyperTalk programmer. For subscription information write
to: Customer Relations 9420 Bunsen Parkway Suite 300 Louisville KY
40220 1-800-223-8720
Macintosh User Groups: User groups often have special
interest groups that focus on various software such as HyperCard.
Check with an Apple Authorized dealer for the names of user groups
in your area.
Where can I find HyperCard stacks? (ftp info)
---------------------------------------------
There are thousands of share/freeware stacks. Both CompuServe
and America Online have libraries. Check user groups in your area;
they often distribute disks of stacks. Check local Mac BBS's for
stack libraries.
Internet Sites with lots of stacks
mac.archive.umich.edu (IP: 141.211.32.2, directory: /mac/hypercard)
sumex-aim.stanford.edu (IP: 36.44.0.6, directory: /info-mac/card)
snyoneva.cc.oneonta.edu (IP: 137.141.15.10,
directory /pub/hypercard) Files are in binary DiskDoubler
format, with file extension ".dd". Use binary or image mode when
FTPing and downloading. Use AutoDoubler or DiskDoubler
to decompress; if you don't own one or the other, download DDExpand
from the archive.
The following popular stacks and external collections are
available via anonymous ftp from mac.archive.umich.edu:
Colorizing HC XCMD
mac/hypercard/xcmd/colorizinghcxcmd1.15.cpt.hqx
Dartmouth Collection of
Externals /mac/hypercard/xcmd/dartmouthxcmds4.03.cpt.hqx
Deprotect Stack
mac/hypercard/hypercardutil/deprotectstack.sit.hqx
Developer
Stack /mac/hypercard/hypercardutil/developerstack1.3r.cpt.hqx
Hierpopup
mac/hypercard/xfcn/hierpopup3.2.sit.hqx
Rinaldi Collection of
Externals mac/hypercard/xcmd/rinaldiexternals3.1.cpt.hqx
Books on HyperCard
------------------
[The book list is still in a bit of disarray. I haven't had time to
standardize the format or get copyright info on every listing. Some
of these books are old and would not be of much help with version
2.x.]
Ambron, Sueann, & Hooper, Kristina (Eds.) Learning with
interactive multimedia: Developing and using multimedia tools
in education. Redmond, WA: Microsoft Press, 1990.
Anzovin, Steven. Compute!'s quick & easy guide to HyperCard.
Apple Computer, Inc. HyperCard script language guide. Bundled
with HyperCard.
Apple Computer, Inc. HyperCard stack design guidelines. 0-
201- 51784-1 $18.95
Apple CD-ROM Handbook: A guide to planning, creating, and producing
a CD-ROM. Addison-Wesley, 1992. $14.95.
Beekman, George. HyperCard 2 in a hurry. Wadsworth.
Bull, Glen, & Harris, Judi. HyperCard for educators:
An introduction. International Society for Technology in
Education. ISBN 0-924667-92-3 $12.95 paperback.
Coulouris, George and Thimbleby, Harold. HyperProgramming:
Building Interactive Programs with HyperCard.
Addison-Wessley, 1993. I'm really enjoying this text. It
contains very readable prose, examples, information about
turtle graphics, and hypertext, and a disk. Mark G. Gillingham
<Gillingh@Vancouver.wsu.edu>
Culp, George, H. & Watkins, G. Morgan. The educator's guide to
HyperCard and HyperTalk. Allyn & Bacon, 1993. ISBN 0-205-
13921-3
Fraase, Michael. Rapid reference guide to HyperCard for
the Macintosh. Business One Irwin, 1992. ISBN 1-55623-902-5 $9.95
Gluck, Myke. HyperCard, hypertext, and hypermedia for libraries
and media centers Imprint: Englewd, Co: Libraries Unlimited,1989.
Gold, Rebecca. HyperCard 2 quickstart. Que Publ, 1993.
Goodman, Danny. The complete HyperCard handbook 2nd ed. New York:
Bantam Books. $29.95 [3rd Edition covering v. 2.2 now
available]
Goodman, Danny. Danny Goodman's HyperCard developer's guide.
New York: Bantam Books, 1988.
Harvey, Greg. Understanding HyperCard. Sybex, 1989. $24.95
Hofmeister, Joseph F. & Rudowski, Joyce B. Learning with HyperCard.
Cincinnati, OH: South-Western Pub, 1992.
Kaehler, Carol. HyperCard power: techniques and scripts.
ISBN 0201-06701-3 $17.95.
Lamb, Annette, & Myers, Dennis. HyperCard Creativity tool.
Career Publ. Co., 1990. ISBN 0-89262-362-4 $39.95
Lamb, Annette, & Myers, Dennis. HyperCard authoring tool.
Career Publ. Co., 1990. ISBN 0-89262-362-4 $39.95.
Michel, Stephen L. Hypercard: The complete reference.
Shafer, Dan. The complete book of HyperTalk2. New
York: AddisonWesley, 1991. ISBN 0-201-57082-3 $26.95
Shell, Barry. Running HyperCard with HyperTalk
Vaughan, Tay. Multimedia: Making it work. Berkeley,
CA: Osborne/McGraw-Hill, 1993. ISBN 0-07-881869-9 $24.95
Vaughan, Tay. Using HyperCard: from home to HyperTalk. Que, 1988.
$24.95
Venezky, Richard, & Osin, Luis. The intelligent design
of computer-assisted instruction. New York: Longman
(Addison- Wesley), 1991. ISBN 0-8013-0390-7 $24.95
Wilson, Stephen. MultiMedia design with HyperCard. Prentice
Hall, 1991. ISBN 0-13-488891-x $24.95
Winkler, Dan, & Knaster, Scott. Cooking with HyperTalk 2.0. Bantam.
ISBN 0553-34738-1 $39.95.
Winkler, Dan, & Kamins, Scot. HyperTalk 2.0: The Book. New York:
Bantam, 1990. ISBN 0-553-34737-3 $29.95. [2nd Edition covering
2.2 now available. Jean Devoto has been added to the authoring
team.]
Book Reviews
------------
Bill Brown-Stone <brownw@msu.bitnet> or <brownw@ibm.cl.msu.edu>
My personal favorite is _The Complete HyperCard 2.2 Handbook, 4th
Ed._ by Danny Goodman. It covers the basics of HyperCard, the
HyperCard programming environment, and HyperTalk scripting in
a range from the most basic to very sophisticated. This is the first
book I stumbled across and I have never felt the need to buy
anything else.
If you have Goodman's previous edition for HyperCard 2.0, the 2.2
version does not add that much. If you want an additional 2.2
reference book and are thinking about buying the new Goodman, you
might consider investing in a different book. If the new edition is
your first HyperCard book, I still think it is an excellent choice.
Den Draphaely <draphaely@clarku.bitnet>
If you can't find the Goodman, and/or you think you really might
spend some time scripting, I suggest Winkler &
Kamins "HyperTalk 2.0: The Book".
"Cooking with HyperTalk" by Winkler & Knaster is a book of canned
scripts for doing all kinds of deft (not daft) things. For instance,
the handler selectParts allows you to select all kinds of objects by
clicking on them (thus forming a group "copy"), and then to paste
(by means of pasteParts) or delete (by way of deleteParts), and so
on. Or by way of rectSelectParts, everything within a given
rectangle defined either by drag-click or by definition can be
transferred into selectParts. There are numerous other
wonderful tools - do something to each card / to each card in a
background / to each bg / to selected bgs... number lines, indent
fields, compare two texts (fields) for differences... -
I'm reeling-off from memory since the book is at home, but you get
the picture that I think its worth your hard-earned
$$.
George Allen <alleng@msu.edu>
"HyperCard Authoring Tool" is by Dennis Myers and Annette
Lamb, both of U. Toledo. Career Publ. Co., 1990. It's a not-quite-
beginning level text with the following chapter titles:
1. Developing simple linear presentations with limited graphics.
2. Developing presentations with graphics.
3. Developing presentations involving interactive video.
4. Developing linear tutorials.
5. Developing criterion-referenced tests.
6. Developing complex tutorials: the instructional system.
7. Developing complex tutorials: lesson development.
8. Developing simple information exploration materials.
9. Developing stacks incorporating advanced technologies.
10. HyperUtilities.
Aimed at teachers and trainers who are interested in creating their
own computer-based instructional materials. (iii) 729 pages,
quite thorough, and clearly written.
They also wrote _HyperCard Creativity Tool_, Lamb & Myers, Career,
1990.
Mark G. Gillingham <Gillingh@Vancouver.wsu.edu>
Coulouris, George and Thimbleby, Harold. HyperProgramming:
Building Interactive Programs with HyperCard. I'm really
enjoying this text. It contains very readable prose,
examples, information about turtle graphics, and hypertext, and
a disk.
Joe Dulak <jdulak@REX.MNSMC.EDU>
I recommend a text called "Learning with HyperCard", by Joseph F.
Hofmeister and Joyce B. Rudowski, from South-Western
Pub., Cincinnati, OH. I had the opportunity to sit through two
training sessions done by the authors. The book is for teaching high
school students HyperCard. It starts from the ground floor. I'm not
thrilled with the organization, but it should give you some ideas
and may remind you of exactly how simple you may need to go for some
people to catch on.
Russell Cotton <rcotton@tenet.edu>
I have a book that I bought at "WaldenBooks" called
"HyperCard Power". It has helped me greatly. It goes step by step
teaching you HyperCard.
Don E. Descy <descy@vax1.mankato.msus.edu>
Two other great HyperCard books are (in order of preference)
"HyperCard 2 in a Hurry" by George Beekman (Wadsworth)
and "HyperCard 2 Quickstart" by Rebecca Gold (Que). Students
also like these.
Hypercard Products and Related Applications
-------------------------------------------
[I need *short* reviews for WindowScript and CompileIt
(among others) which I know are popular HC utilities. Brian Molyneux
has offered to do these but he works for Heizer. I would prefer
reviews by users.]
Following is from PR for HyperGasp with comments in brackets by
Marcel Blanchaer.
HyperGasp, Caliban Software
"HyperGASP" is a multimedia development tool for the
Macintosh, geared primarily toward educational applications and
lab environments. It features an exceptionally friendly
and informative interface which guides users through
the construction of presentations, helping them place
media elements -- graphics, scanned images, sounds,
QuickTime movies, animations, videodisc sequences, and text--
where they want them, quickly and simply. [Well, not quite so simple
especially if the user is a HyperCard virgin.] HyperGASP runs as a
temporary scaffolding for HyperCard, adding two new design
palettes and two menus offering thirty powerful utilities. It can be
cleanly "stripped off" once development is complete. No
programming is required. [Although this seems true a lack of
HyperTalk scripting ability would, in my opinion, limit the variety
of effects that could be used in a stack.]
Requires HyperCard 2.0 or later and at least 4 megabytes of RAM.
Price: $65 single copy; $200 12 machine license; $300 30 machine
license; $500 site license; $1,000 district license.
Demo disk available
Addresses for HC Products
-------------------------
APDA
US (800) 282-2732; Canada (800) 637-0039; International
(716) 871-6555.
Heizer Software
P.O Box 232019
Pleasant Hill, CA 94523
FEIN#: 94-2852739
Orders: 800-888-7667
Fax: 510-943-6882
HyperGASP
Caliban Mindwear
6590 Camino Carreta,
Carpinteria, CA 93013
(805) 684-7765, 805/684-3025
America Online: CalibanMW
Internet: CalibanMW@aol.com
Macromedia, Inc.
600 Townsend St.
San Francisco, CA 94103
415-442-0200
Internet: <76074.1756@compuserve.com> <MACROMIND.aol.com>
What is HyperCard?
------------------
The human mind... operates by association. With one
item in its grasp it snaps instantly to the next
that is suggested by the association of thoughts
in accordance with some intricate web of trails
carried by the cells of the brain.
-- Vannevar Bush, "As we may Think"
Atlantic Monthly, 1945
HyperCard is a Macintosh application that allows you to create and
use HyperCard documents known as stacks. A stack has a minimum of
one card (and one background) but could have several thousand cards
(and, I suppose, several thousand backgrounds). Each card
usually has some sort of unique information on it and can share
elements with other cards via the background.
Looking at HyperCard in terms of database terminology, a stack would
be a database file, a card would be a single record, and each card
can have fields to store individual pieces of information. The
Address stack, included with every release of HyperCard, is a good
example of this concept.
But HyperCard is much more than just another database. Think of it
as a way to present information in a custom designed format that
allows users to easily retrieve the information they want. In this
sense, and because it includes a programming language, it's a
complete development package.
There are trade offs. HyperCard stacks are slow as far as
applications go, and the program doesn't support color easily (and
if you use color, it slows down even more).
HyperCard is purposefully designed to present itself to the user in
small steps. You can start by just looking around and clicking some
buttons (level 1 or browsing), progress to typing information in
fields (level 2 or typing), move on to creating paint graphics
(level 3 or painting), learn how to create your own buttons and
fields (level 4 or authoring), and finally learn how to program your
stacks (level 5 or scripting). (To attain levels 4 and 5, you must
have HyperCard and not the HyperCard Player. They are two different
applications.)
What is HyperTalk?
------------------
HyperTalk is the scripting (or programming) language that
controls HyperCard. In terms of programming languages,
HyperTalk's syntax is very English-like and very forgiving,
making it relatively easy to learn.
Part 2 of the FAQ covers HyperTalk and scripting.
What is Home?
-------------
A special stack, called Home, must be present when you want to use
HyperCard or the HyperCard Player. When you open HyperCard directly
by double- clicking the application icon, you will either end up in
the Home stack or you'll get a dialog asking where Home is located.
(It's best to keep Home at the same directory level as HyperCard.)
Whether you are using the bundled version of HyperCard or the
Player, or purchased HyperCard from Claris, you have a Home stack.
(If you don't have a Home stack, HyperCard will not open until you
find one!)
The Home Stack has special scripts that configure your HyperCard
environment and allow you to adjust HyperCard's defaults (such as
changing the user level). The Home Stack also has buttons that you
click to get to other stacks.
There is no one look to a Home stack. Apple and Claris released
several variations and users can customize their Home
stacks easily.
Any stack (even a completely empty, one carder) can function as Home
simply by naming it "Home." But you will lose much of HyperCard's
functionality without a "real" Home Stack.
The stack script of the Home stack contains useful utility handlers
and is worth exploring. (see Home Stack Specials in Part 2 of the
FAQ.)
What is the HyperCard Player?
-----------------------------
The HyperCard Player appeared in 1992. The Player cannot be
scripted; it can only run HyperCard stacks -- sort of a Teach Text
app for stacks. With the release of the Player, HyperCard became a
retail product only.
Version 2.2 of the Player was released shortly after the release of
HyperCard 2.2.
What is a stand-alone?
----------------------
HyperCard 2.2 has the ability to save a stack as an application. You
access this feature with the Save a Copy command under the File
menu. The resulting application can be run without HyperCard or the
HyperCard Player.
Saving your stack as an application adds about 800K to it. The
reason is that the HyperCard application and related resources are
being embedded in your stack.
Before the release of HyperCard 2.2, Claris sold the Developer's
Licensing Kit that added this ability to HyperCard 2.0 and 2.1.
What is AppleScript?
--------------------
AppleScript is a system-wide scripting environment for the
Mac. Scriptable applications are able to send messages and commands
to other scriptable applications. Even non-scriptable
applications can at least receive some messages if they're Apple
Event aware.
AppleScript makes it easy to refer to data in applications. You can
get a cell from a spreadsheet application, or a paragraph from a
word processor. Once you get the data, you can process it in some
way and send it along to another application.
In relation to HyperCard, AppleScript can trigger
HyperCard scripts. For example, in preparing this FAQ, I used
AppleScript to send data from a text editor to HyperCard. HyperCard
then created a new card, titled it with the first line of text in
the data, and stripped out extra returns and spaces. While this was
going on, I continued to work in the text editor. [I also had to
invoke QuicKeys in this process.]
AppleScript also allows you to control applications over a network.
Apple says AppleScript and HyperTalk are fairly similar. My own
experience is that the AppleScript language is much pickier about
how you refer to objects. You also have to deal with how an
application returns the info you're requesting and coerce it into
the form you need.
The HyperCard 2.2 package includes an excellent introduction
to AppleScript and everything you need to get
started AppleScripting.
There is an AppleScript FAQ and a mail list (MACSCRPT). The FAQ is
available for ftp from <gaea.kgs.ukans.edu> in the
applescript directory. AppleScript-related files are also
available here.
To subscribe to the mailing list, send your request to
<listserv@dartcms1.dartmouth.edu> with the following in the
message area:
sub macscrpt FirstName LastName.
The MACSCRPT list also covers UserLand Frontier scripting.
What is the user level?
-----------------------
HyperCard has five user levels which are adjusted by going to the
last card of the Home Stack. (Choose Last from the Go menu while in
the Home Stack.) The higher the user level, the more you can do with
HyperCard. Higher level numbers include all the features
of previous levels.
Menubar commands change depending on the user level you've chosen.
The user level can also be set with scripting. In the message box
type <set the userLevel to |1-5|> and press return.
The levels and what you can do at each level are:
Browsing or Level 1
Open, close, and browse stacks, search for text, click buttons, move
between stacks, print, and save copies of stacks.
Typing or Level 2
Type, edit, style text, add and delete cards, compact stacks, set
Arrow Keys in Text option.
Painting or Level 3
Create and edit graphics with the paint tools, set stack protection,
edit icons, delete stacks, move between background and card layers,
use the Power Keys.
Authoring or Level 4
Create, modify, and delete buttons, links, fields,
cards, backgrounds, and stacks.
Scripting or Level 5
Write, edit, and debug scripts, set the Blind Typing option.
What does the Compact Stack do?
-------------------------------
[Some info from the HyperCard Help stacks]
The Compact Stack command is under the File Menu.
Each time you delete a card, background, field, or button, the space
it occupied stays in the stack as unusable space called free space.
As you work on a stack, it can accumulate a substantial amount of
free space -- and the more free space a stack has, the slower it
runs and the larger it is. There's also a better chance that your
stack will become corrupted (meaning unusable) if you let the free
space get out of hand.
To check the amount of free space in a stack, choose Stack Info from
the Objects menu.
To reclaim the free space:
1. Make a backup copy of your stack using the Save a Copy command
(just as a precaution).
2. Choose Compact Stack from the File menu.
Note: If the stack has a custom palette, and the stack won't
compact, close all the palettes and then compact the
stack.
You can add a handler to your Home stack script to perform auto
compacting when the free space reaches a certain percentage. The
HyperCard Scripting FAQ has examples in "Auto-Compacting Handlers".
How can I make my menubar appear (or disappear)?
------------------------------------------------
Command-space toggles the visibility of the menubar.
[Some extensions and control panels to the Macintosh system use the
command-space combination. See the Problems & Bugs section of the
FAQ.]
Menubar visibility can also be set with scripting. In the message
box type <show menubar> or <hide menubar> and press
return.
How do I record my own sounds?
------------------------------
[Read the documentation that came with your Mac on how to record
sounds. This FAQ deals with recording in HyperCard.]
Several versions of HyperCard 2.x came bundled with the Audio Stack.
Check the Edit menu for the Audio Help command. If the command is
not there, check the HyperCard disks that should have come with your
Mac and see if the Audio Help Stack is there (or check on your hard
disk for the stack). Placing the Audio Help Stack in the same folder
as HyperCard (and at the same level) and opening HyperCard should
get the command to appear.
To record, choose Audio Help from the Edit menu and read the
documentation.
The built-in audio recording features of HyperCard (those
described in Audio Help) assume that your Mac has a built-in
microphone for use in recording sounds. If you have an older Mac
that doesn't have a built-in microphone, you will need to acquire
some third-party microphone device such as MacRecorder
from MacroMedia. A third-party microphone may or may not work
directly with the built-in audio features of HyperCard; if is does
not, it should come with software (probably HyperCard stacks) that
assist you in recording and editing sounds.
If you don't have the Audio Help Stack, you'll have to purchase
something like MacRecorder which comes with software
called SoundEdit Pro. SoundEdit Pro will allow you to record the
sounds and a resource mover will allow you to get them into your
HyperCard stacks. [The HC Scripting FAQ covers moving resources.]
Version Misc.
=============
Version History
---------------
The information in this FAQ assumes you are using a 2.x version of
HyperCard (the application, not the Player). However, users
of earlier versions (hopefully no earlier than 1.2.5) can still
benefit from much of what is discussed. An excellent reference on
which version supports which commands, properties,
functions, messages, etc., is Winkler & Kamins (& Devoto's in the
second edition) HyperTalk 2.0: The Book. See the Book List section
of the FAQ for more info.
What follows is a very brief history of HyperCard.
HyperCard version 1.0 was released August, 1987. It had a _very_
limited distribution. Version 1.0.1 released later the same
year, was the first large distribution and was bundled with Macs.
User Groups were also able to distribute HyperCard.
HyperCard moved through several 1.x versions, adding features
and correcting bugs, until the release of 1.2.5 in 1988 (maybe '89).
Many users and developers are still using this version. Version
1.2.5 requires system software 6.0.5 or later. At this time, no one
should be using an earlier version than this.
Version 2.0 came out in 1990. It was the last unmodified full
version bundled with Macs. It lacked the Script Language Guide, but
did include stack based documentation that introduced
scripting. The Debugger was introduced with this version. This was a
very buggy release with really nasty problems related to managing
resource forks and had a very short life-span. This was the last
version that user groups were able to distribute for
free.
The plot thickens here as Apple gives HyperCard to Claris. Claris
responded with the first "clean" release of version 2: 2.0v2. It was
bundled with Macs but with obscured functionality. (The
<magic> command was introduced with this version.) Only a few sample
stacks were included.
Version 2.1 was the second release from Claris, and introduced
AppleEvent support. This was the last bundled version.
In 1992, the HyperCard Player appeared. The Player cannot be
scripted; it can only run HyperCard stacks -- sort of a Teach Text
app for stacks. With the release of the Player, HyperCard became a
retail product only.
Version 2.2 was released in December, 1993. A separate section of
the FAQ covers 2.2's new features.
What's new in version 2.0?
--------------------------
This is a very brief list of new features introduced with version
2.0. Taken from the Claris HyperCard Script Language Guide.
[Warning! The straight 2.0 is buggy. You should be using at least
2.0v2.]
Variable card sizes
Multiple stack windows open at the same time
Multiple fonts, font styles, and font sizes within fields
Group text for identifying hypertext links
Navigation palette
Support for user-defined palettes
Support for PICT files and resources in a floating window
Improved printing
Script editor enhancements including option of leaving an
editor window open and returning to the stack
Built-in script debugging tools
User-definable menus
Extensions to the XCMD interface
Enhanced support for MultiFinder
Stacks as shared code libraries
Enhanced HyperTalk: new commands, functions, and properties
to handle new features and enhancement of the old
ones.
What's new in version 2.1?
--------------------------
[To find out more about these features, check your documentation or
the New Features stack that came with version 2.1.]
- Two new Power keys for paint and field text: Command-Shift-[ for
previous font and Command-Shift-] for next font.
- New option for pasted text: Hold the shiftkey down during the
paste to have the text take on the default attributes of the field.
- New properties for windows: ID and number.
- Error dialogs: lock out the Error dialogs to run in "quiet" mode
(without any user interaction).
- Determining system software version: the systemVersion function.
- New "dialingTime" property: Determines how long HyperCard
waits before closing the serial connection to a modem after sending
the dial string.
- Print dialog with RPrint Field...S: Hold the shift key down when
you choose RPrint FieldIS to get the standard Macintosh print
dialog.
- Extensions to read/write commands.
- Addition to the Picture XCMD: "floating layer" parameter.
- HyperCard support for System 7.0: Alias files, Balloon and
Application menus.
- Apple event support in HyperTalk.
- RSystem 7 FriendlyS running programs: <answer program> command.
- item delimiter can be set with the itemDelimiter property
What's new in version 2.2?
--------------------------
Better color implementation: 2.2 comes with the Color Tools Stack
which provides external commands and functions to attach color to
buttons, fields, and card and background layers. You can also import
color images and attach them to the card or
background.
Integrated Stand-Alone Application Builder: A choice in the Save a
Copy dialog. [The Application Builder does not work on a Mac Plus
and possibly other 68000-based Macs.]
Open Scripting Architecture (OSA): Allows you to write
AppleScript scripts (or scripts of any OSA compliant
scripting language) from within HyperCard.
Script Attachability: Scripts can be written in HyperTalk or in any
attachable language (like AppleScript).
Message Box: Select All now works in the message box. Set Text size,
font, style of message box.
Movable Modals: Many dialog boxes (including all the Info dialogs)
are now movable modals.
PowerBook choice for sizes when resizing card windows.
Oval button style choice but transparent only.
Default and standard button styles: these look like your standard
"OK" and "Cancel" buttons.
Pop-up menu button style.
The Button Info and Field Info dialogs now have a preview area.
Buttons and fields have a part number that places them among all the
other buttons and fields in the card or background domain. This
number can be set from a script.
Buttons have enabled property allowing them to be grayed out. When
disabled, they don't pass messages.
New family property for buttons. Only one button in a family can
have its hilite set to true. Useful when dealing with radio buttons.
Buttons are now containers and can hold text like fields. The text
is only visible from within the Button Info dialog, but is available
for use in scripts.
The Button Info dialog now has a Text Style button.
List fields can be created that hilite the entire line when clicked
by using the autoSelect property. By using the selectedText and
selectedLine functions, you can script an action based on the user's
choice.
Enhanced HyperTalk
[This list does not include all new features and enhancements of the
language -- just some highlights.]
Commands
- disable/enable <button>
- do <expression> as <scriptingLanguage>
- find international (recognizes international characters)
- put <text> into <button>
- select line <number> to <number> of <field | button>
- sort (allows sorting by an arbitrary sort key such as word 2 of a
series of lines)
- visual effect push
Functions
- destination (returns full pathname of destination stack when HC is
in process of going to another stack)
- diskspace (returns amount of free space on any mounted volume)
- selectedButton (returns name of the button that is highlighted in
a family)
- sum (returns the sum of a list of comma-delimited numbers)
Properties
- autoSelect (defines a list field if lockText is true) [There's a
typo in the Script Language Guide regarding this. The Guide states
that fields have an autoHilite property. Not true, as far as I can
tell. It means autoSelect.]
- bottom (determines bottom of menubar) [Why?]
- bottomRight (again, for the menubar) [again, why?]
- dialingVolume (sets volume of touch tones generated through the
Mac speaker)
- environment (returns <development> if running the HC ap, or
<player> if running HC Player)
- scriptingLanguage (returns current scripting system for
scripts of objects)
- visible (now applies to menubar)
Messages
mouseDoubleClick
Version 2.2 Review
------------------
[I pulled the following from the Net. I'm using it with the author's
permission. Paul Foraker, a member of the HyperCard 2.2 team, wrote
report.]
Color Tools
The integration of color into HyperCard 2.2 is accomplished by an
XCMD called AddColor, and an interface provided by a Color Tools
stack. You install the color capability by clicking a button in the
Color Tools stack. The installer puts a button on your Home card, a
small script in your Home stack script, and a Color menu in your
menubar. There are two menu items: Open Color Tools and Redraw
Screen. When you want color in a stack, you select Open Color Tools.
This menu installs the XCMD and a couple of scripts in your stack,
opens a 256 color palette, and puts you in a modal environment.
The Color Tools palette has four tools: button, field, picture, and
rectangle. (There are no color paint tools.) To color a button or
field, you click the appropriate tool, select the object and select
a color from the palette. The XCMD writes a record to a small
database in the resource fork of your stack, identifying the card
and object colored and draws the color on the card window. The
picture button allows you to link a PICT file, or import a PICT
resource, or place an existing PICT resource on the card or
background layer, updating the database. When you "place" a PICT, it
locates with its top left corner centered on the card. You drag it
where you want it, and resize it (scaling the picture automatically)
if you want. To get a colored rectangle, you double click the
rectangle tool and get a small square on the card (or background)
which you can resize and recolor. Layering is fully supported
(within the domains of background and card). All the colored objects
can have various width bevels (except, I think, the transparent
field). Colored objects can be opaque or transparent (white is the
key color). When you move a colored object (button or field), the
database gets updated when you redraw the card, either with the XCMD
directly, or through the Redraw Screen menu item. Everything the
interface provides can also be done directly by scripting the XCMD.
As part of Color Tools, about 20 new visual effects are available.
Using the Color Tools interface is as easy as using the HyperCard
Tool palette to make buttons and fields. Scripting the XCMD is
remarkably straightforward.
OSA-Compliant Scripting Languages
We tend to think of HyperTalk and HyperCard as being inseparable.
For this version, Kevin [Kevin Calhoun of the HyperCard Development
Team] separated them, in that it is no longer necessary to use
HyperTalk in the scripts of HyperCard objects. Any
OSA-compliant language you have installed in your system can be
selected in a new popup menu in the script editor window. HyperCard
2.2 ships with AppleScript 1.1, Apple's first
OSA-compliant language. Other possibilities are UserTalk
from Frontier (though its implementation is not quite
complete), and CE Software has one which will be available soon.
There's a new property (all objects): the scriptingLanguage.
So, you can have, for example, a HyperTalk button on a card that
calls an AppleScript function in the background, that in turn
depends on the result of a HyperTalk function in the stack script.
Further integration is possible through the use of the (expanded) do
command. For example,
do theCmd as "AppleScript"
-- where theCmd is a valid AS statement
Although AppleScript is based on HyperTalk, it has a slightly
different orientation and hence some additional capabilities.
With AppleScript, for example, any scriptable application
becomes, in Kevin's words, an XCMD for HyperCard.
Furthermore, HyperCard is now scriptable. That is,
using AppleScript, you can control it from other applications.
Built-In Stand-Alones
The Save A Copy menu has been modified to include a popup menu with
which you select Stack, Application, or Custom File Format (or any
third party components you have installed). The Application
choice yields a standalone application (the Player embedded in your
stack). You can specify the signature (type and creator) of the
application and then use the Custom File Type choice to save other
stacks as documents linked to that application).
New Button Types
There are four new button types: Popup, Default (double bordered),
Standard (round rect with no drop shadow), and Oval. Buttons are now
containers, just like fields. The button info dialog contains a
"Contents" button that brings up a window for you to enter text. In
the case of a popup button, this text becomes the menu items.
on mouseUp -- script in a standard button, for example
answer me -- displays the contents of the button
end mouseUp
New Button Property
Buttons can belong to families (1 thru 15 for either card or bkgnd).
So, to make radio buttons without scripting, you identify (with the
button info dialog or in a script) which family the buttons belong
to, and they will automatically function as linked radio
buttons.
New Field Behavior
List Fields are now available by simply locking a field, settings
its dontWrap to true, and its (new property) autoSelect to true.
There is also an optional (new property) multipleLines. So a script
that gets you to a card by the name of the item clicked in the field
would look like:
on mouseUp
go card (the selectedText of me)
end mouseUp
The multipleLines property allows continuous selection (but
not, alas, discontiguous).
Bundling
At this point, it appears that every Macintosh will have the Player
bundled with it. The Player is a fully functional HyperCard, without
a scripting environment. The Player's About Box will tell you how to
get the full featured version.
In the Box
In its 16-lb box, HyperCard 2.2 comes bundled with ADDMotion II,
from MotionWorks. AppleScript 1.1 (runtime), Scriptable
Text Editor, and Script Editor. There's a complete set of new
manuals, written by Scot Kamins and Alan Spragens (two of the best
in the business). There's a catalog of HyperCard add-ons (including
an ad for a book I'm co-author of: Advanced HyperCard Solutions).
Total of 11 800K diskettes.
Do I like it?
Yes. This is, to me, a much more significant upgrade than the ".2"
would indicate. While we all lament the absence of integrated color
and paint tools, the AddColor solution is elegant and powerful. The
AppleScript-ability leaves HyperCard fairly dripping
with functionality. The new button and field features make it quite
easy to construct an application that doesn't look at all like
HyperCard. I'm looking forward to upgrading and implementing
new solutions for my clients.
Will Version 1.2.5 work with System 7?
--------------------------------------
There are some problems related to sound. If you turn the sound off,
1.2.5 tends to work fairly well.
Will HyperCard 2.2 work with System 6?
--------------------------------------
HyperCard 2.0 and later requires system software version 6.0.5 or
later.
If you want to take advantage of WorldScript, open scripting
(including AppleScript), and stand-alone application building
of HyperCard 2.2, you have to use System 7.1.
How do I convert a 1.x version stack to 2.x?
--------------------------------------------
First, save a copy of your stack as a precaution. Then open the
stack in HC 2.x. You should see a padlock in the menubar. Choose
Convert Stack from the File menu. If the command is not there or the
Compact Stack command is there, you are not working with a 1.x
stack.
Problems & Bugs
===============
Miscellaneous HyperCard Problems and Memory
-------------------------------------------
MANY basic HyperCard problems can be traced not allotting enough
memory for the HyperCard application. The default allotment
is usually too small.
Some of the problems you may encounter are the inability to use the
Paint tools, card windows that can't be resized, and system freezes
while using HyperCard. If you're using the Coloring Tools Stack
(version 2.2), you may find colors or pictures disappearing.
To change the allotment, select the HyperCard icon in the finder and
choose Get Info from the File menu. (Make sure you've quit HyperCard
before you do this.) Type a new (and higher) number in the Preferred
Size box. How high the number is depends on how much memory you have
installed. Setting it to 2500 usually solves most problems that are
memory related.
Increasing the memory allocation for HyperCard is
especially important if you're developing.
I only have two (or three) user level choices available.
--------------------------------------------------------
You can set your user level from the Preferences card (last card) of
the Home Stack.
If there are only two levels available (Browsing and Typing), you
have the "disabled" version of HyperCard. An opaque button is hiding
the other three levels. To see all the levels, choose Message from
the Go menu, type "magic" (no quotes) in the Message Box, and press
return. Levels 3 to 5 will appear.
If you have three level choices (Browsing Typing, and Painting), you
probably have the HyperCard Player. You cannot author or script with
the Player.
Why do my buttons disappear when I go to another card?
------------------------------------------------------
Each card has 2 layers. The background layer can be shared by many
cards. The card layer is card specific. Objects created on the card
layer will not appear on other cards. If you want a button, field,
or graphic to appear on every card, put it in the background.
To move objects from the card layer to the background, select the
object, choose the cut command, go to the background (Edit menu or
command-b) and paste. The object will be pasted in the same position
it was on the card layer.
When the background layer is active, the menu bar is cross-hatched.
The "Fonts not installed" Message
---------------------------------
HyperCard uses an external function (XFCN) to check to ensure you
have the fonts necessary to use the stacks that come with HyperCard.
Unfortunately, the XFCN doesn't understand TrueType fonts and
looks for the exact bitmap in your system.
Fortunately, you can turn the font checking off. Open the stack
script in the Home stack by choosing "Stack Info" from the Objects
menu and clicking the Script button. Find the words <on startUp>.
Find the line <checkForMissingFonts>. This is the command
that triggers the font checking. Type two hyphens (--) at the
beginning of this line. This tells HyperCard to ignore the command.
Command-space doesn't toggle the menubar.
-----------------------------------------
Some extensions and control panels to the Macintosh system use the
command-space combination and override its use in HyperCard.
Try restarting your Mac with the shiftkey down to disable extensions
and see if the command works in HyperCard to hide/show the menubar.
A common culprit is SCSI Probe which uses command-space as a short
cut. You can change the command in SCSI Probe so HyperCard is able
to use command-space for the menubar.
The Protect Stack command disappeared.
--------------------------------------
The Protect Stack command (File menu) will disappear if the user
level (for the stack) is set below Painting (level 3). You can get
it back if you hold down the command key while pulling down the file
menu.
Help! I lost my password.
-------------------------
Try the DeProtect Stack by Ned Horvath and Allan Foster. (Not
guaranteed, but it usually works.) It should be available in the mac
archives at umich.
[Check "Where can I find HyperCard stacks? (ftp info)" in
this FAQ.]
HC 2.1 Bugs and the Mac AVs
---------------------------
There are reports of a bug when using the Audio Palette on a Centris
660AV. The bug causes the Mac to hang when it's finished recording a
sound. HyperCard 2.2 is supposed to fix this.
There's also a problem with 2.1 with editing/modifying
scripts Don't use the Enter key to exit the script editor or you
risk a system freeze. This is also fixed in
2.2.
General
=======
How do I make pictures of card images?
--------------------------------------
Go to the card, press the option key down, and choose Copy Card from
the Edit menu. This will place a full size PICT of the card on the
clipboard for you to paste into another application. You can also
get only an image of the background if you open the background
(choose Background, Edit menu) before issuing the
copy-with-option command.
If you forget to use the option key you will get a miniature image
of the card for pasting in another application. This is useful for
making index cards and the like.
HyperCard also has an Export Paint command that creates an image of
the card or background in a MacPaint file. Choose any Paint tool and
then choose Export Paint from the File menu.
Hidden printing features.
-------------------------
[Following applies to version 2.1. With 2.2, Apple "unhid" the
features.]
If you hold down the option key while choosing the Print Report menu
item, several hidden features will appear in the Print Report Dialog
including a "Precision Adjustments" option, a Save button, and
the ability to put lines and boxes around print
items.
Admin
=====
Acknowledgments
---------------
Many are they who have contributed to this FAQ and I thank you all.
A few are mentioned in the articles. Special thanks to the
following:
Bruce Carter and John Pinto for some of the early data collection
that got the FAQ going.
Dave Lorand who handles posting to comp.sys.mac.hypercard
and archiving at ftp.earlham.edu. Dave also has the distinction of
posting the first HC FAQ. He beat me by a few days.
Brian Molyneux for version data and info on Heizer products.
Editing and proofing: Bill Karle, Bruce Carter, Bill Brown
Book List: Originally compiled by Asif Taiyabi
HyperCard 2.2 Review: Paul Foraker
The following list submitted answers or suggestions that
were helpful in the FAQ preparation.
Jay Cross
Dave Blackburn
Cory Doctorow
Geoff Duncan
Mark G. Gillingham
Christopher J. Henrich
Scott Raney
Jeffrey D. Wurtz
Who's Peter Fleck?
------------------
I make my living as a Mac
consultant/HyperCard-SuperCard developer/software trainer in
the Twin Cities area (Minneapolis/St. Paul) of Minnesota. I teach
semi-regular HyperCard classes and coordinate the HyperCard
Special Interest Group for Mini'app'les, the local Mac/Apple
user group.